#ifndef SDK_OHOS_API_OHOS_MEDIA_SOURCE_INTERFACE_H_
#define SDK_OHOS_API_OHOS_MEDIA_SOURCE_INTERFACE_H_

#include "api/ref_count.h"

namespace ohoswebrtc {

class OHOSMediaSourceInterface : public webrtc::RefCountInterface {
  public:
  /**
   * State for media source
   */
  enum OHOSMediaSourceState {
    OHOSMediaSourceStateInitializing,
    OHOSMediaSourceStateLive,
    OHOSMediaSourceStateEnded,
    OHOSMediaSourceStateMuted,
  };
  /**
   * type for media source
   */
  enum OHOSMediaSourceType {
    OHOSMediaSourceTypeAudio,
    OHOSMediaSourceTypeVideo,
  };

  /**
   * return media source state
   */
  virtual OHOSMediaSourceState state() const = 0;

  protected:
    virtual ~OHOSMediaSourceInterface() {}
};

}

#endif